//==================================================
// 作 者：曾浩
// 日 期：2012-03-15
// 描 述：介绍本文件所要完成的功能以及背景信息等等
//==================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CoreFrame.Core.Orm;

namespace MarchEstate.Manager.BusinesEntity
{
	[Serializable]
	[Table(TableName = "WY_ChargeMoneyDetail", EntityType = EntityType.Table, IsGB = false)]
	public abstract class AbstractChargeMoneyDetail : CoreFrame.Business.AbstractBusines
	{
		private string _chargedetailid;//
		/// <summary>
		/// 
		/// </summary>
        [Column(FieldName = "ChargeDetailID", DataKey = true, IsSingleQuote = true, Match = "Custom:Guid", IsInsert = false)]
		public string ChargeDetailID
		{
			get { return _chargedetailid; }
			set { _chargedetailid = value; }
		}
		private string _chargeid;//
		/// <summary>
		/// 
		/// </summary>
		[Column(FieldName = "ChargeID", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string ChargeID
		{
			get { return _chargeid; }
			set { _chargeid = value; }
		}

        private string _ownerId;//
        /// <summary>
        /// 人员ID
        /// </summary>
        [Column(FieldName = "OwnerId", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
        public string OwnerId
        {
            get { return _ownerId; }
            set { _ownerId = value; }
        }
        private string _username;//使用人
        /// <summary>
        /// 使用人
        /// </summary>
        [Column(FieldName = "OwnerName", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
        public string OwnerName
        {
            get { return _username; }
            set { _username = value; }
        }

        private string _srccId;//
        /// <summary>
        /// 
        /// </summary>
        [Column(FieldName = "SrccId", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
        public string SrccId
        {
            get { return _srccId; }
            set { _srccId = value; }
        }

		private string _itemcode;//
		/// <summary>
		/// 
		/// </summary>
		[Column(FieldName = "ItemCode", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string ItemCode
		{
			get { return _itemcode; }
			set { _itemcode = value; }
		}
		private string _itemname;//
		/// <summary>
		/// 
		/// </summary>
		[Column(FieldName = "ItemName", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string ItemName
		{
			get { return _itemname; }
			set { _itemname = value; }
		}
		private string _statcode;//
		/// <summary>
		/// 
		/// </summary>
		[Column(FieldName = "StatCode", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string StatCode
		{
			get { return _statcode; }
			set { _statcode = value; }
		}
        private decimal _lastsurplus;//上次收银后的余额，或默认初始化余额
        /// <summary>
        /// 上次收银后的余额，或默认初始化余额
        /// </summary>
        [Column(FieldName = "Lastsurplus", DataKey = false, IsSingleQuote = false, Match = "", IsInsert = true)]
        public decimal Lastsurplus
        {
            get { return _lastsurplus; }
            set { _lastsurplus = value; }
        }
        private decimal _lastlatefee;//上次收银后滞纳金，或默认初始化滞纳金
        /// <summary>
        /// 上次收银后滞纳金，或默认初始化滞纳金
        /// </summary>
        [Column(FieldName = "LastLateFee", DataKey = false, IsSingleQuote = false, Match = "", IsInsert = true)]
        public decimal LastLateFee
        {
            get { return _lastlatefee; }
            set { _lastlatefee = value; }
        }
        private decimal _thiscostfee;//本次收银应收金额，判断是否欠费可以根据此字段
        /// <summary>
        /// 本次收银应收金额，判断是否欠费可以根据此字段
        /// </summary>
        [Column(FieldName = "ThisCostFee", DataKey = false, IsSingleQuote = false, Match = "", IsInsert = true)]
        public decimal ThisCostFee
        {
            get { return _thiscostfee; }
            set { _thiscostfee = value; }
        }
        private decimal _thislatefee;//本次收银欠费产生的滞纳金
        /// <summary>
        /// 本次收银欠费产生的滞纳金
        /// </summary>
        [Column(FieldName = "ThisLateFee", DataKey = false, IsSingleQuote = false, Match = "", IsInsert = true)]
        public decimal ThisLateFee
        {
            get { return _thislatefee; }
            set { _thislatefee = value; }
        }

        private decimal _FavourFee;//优惠金额
        /// <summary>
        /// 优惠金额
        /// </summary>
        [Column(FieldName = "FavourFee", DataKey = false, IsSingleQuote = false, Match = "", IsInsert = true)]
        public decimal FavourFee
        {
            get { return _FavourFee; }
            set { _FavourFee = value; }
        }

        private decimal _RealityFee;//实收金额
        /// <summary>
        /// 实收金额
        /// </summary>
        [Column(FieldName = "RealityFee", DataKey = false, IsSingleQuote = false, Match = "", IsInsert = true)]
        public decimal RealityFee
        {
            get { return _RealityFee; }
            set { _RealityFee = value; }
        }

        private decimal _PrepayFee;//本次余额
        /// <summary>
        /// 本次余额
        /// </summary>
        [Column(FieldName = "PrepayFee", DataKey = false, IsSingleQuote = false, Match = "", IsInsert = true)]
        public decimal PrepayFee
        {
            get { return _PrepayFee; }
            set { _PrepayFee = value; }
        }
        private DateTime _Lastmaturity;//
		/// <summary>
		/// 
		/// </summary>
        [Column(FieldName = "Lastmaturity", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
        public DateTime Lastmaturity
		{
            get { return _Lastmaturity; }
            set { _Lastmaturity = value; }
		}
        private DateTime _Thismaturity;//
		/// <summary>
		/// 
		/// </summary>
        [Column(FieldName = "Thismaturity", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
        public DateTime Thismaturity
		{
            get { return _Thismaturity; }
            set { _Thismaturity = value; }
		}

        private string _oldChargeDetailID;
        [Column(FieldName = "OldChargeDetailID", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
        public string OldChargeDetailID
        {
            get { return _oldChargeDetailID; }
            set { _oldChargeDetailID = value; }
        }

        public abstract List<AbstractChargeMoneyDetail> GetChargeDetailList(string chargeId);
	}
}